"""
需求：
 在旧的功能上添加新的功能，不改变旧功能
"""

def old_fun():
    print("旧的功能~~~")


def new_fun():
    print("权限验证~~~")

new_fun()
old_fun()

print("========================")

# 有内有外  一个外部函数包含一个内部函数
# 内访问外 内部函数可以访问外部函数的变量
# 外返回内  外部函数的返回值是内部函数
# 作用：让外部函数执行之后的栈帧不释放，供内部函数不断调用


# 旧函数
def old_func():
    print("旧的功能22222~~~")

# 闭包
def new_func(func):
    def wrapper():
        print("权限验证")
        func()
        print("日志记录")
    return wrapper


new_f = new_func(old_func)
new_f()



